<?php

/**
 * @author viet-coder.com
 * @copyright 2013
 * 
 * 1. comment trên mỗi function như ví dụ trong này
 * http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_sample2.pkg.html
 * Tác dụng của việc này khi rê chuột vô hàm và nhấn ctr nó sẽ hint ra giải thích hàm,
 * cái mà mình vừa comment.
 * 2. data truyền vào sẽ lấy từ controller truyền xuống, không lấy trực tiếp trong model
 * 3.commit những file cần thiết, không commit những file cấu hình riêng cho mỗi máy như
 * file config/database.php
 * 
 */
class Mevent extends CI_Model {

    public function __construct() {
        parent::__construct();
        $this->load->database();
    }

    /**
     * Lưu event
     * @param $data array gồm các thông tin của event
     * @return string id nếu update thì là id của row vừa update, nếu insert thì id row mới nhất.
     */
    public function save($data) {
        //Kiểm tra dữ liệu trước
        if (sizeof($data) <= 0) {
            return FALSE;
        }
        
        //Nếu ko có idevent thì là insert mới data
        if(!isset($data['id']) || $data['id']==""){
            $insert_event = $this->db->insert('event', $data);
            return $this->db->insert_id();
        }
        
        //nếu có idevent
        $idevent = $data['id'];
        $condition = $this->db->where('id', $idevent);
        if ($condition == true) {
            $this->db->update('event', $data);
            //$this->db->affected_rows() sẽ kiểm tra số row được update, delete
            //đây là hàm để xác định là chúng ta update/delete database có thành công hay là không.
            return ($this->db->affected_rows() > 0) ? $idevent : FALSE;
        } else {
            $insert_event = $this->db->insert('event', $data);
            return $this->db->insert_id();
        }
    }
    /**
     * Lấy thông tin event bởi id
     * dùng trong hàm edit event, mình sẽ lấy thông tin event lên.
     * @param $eid string id của row cần lấy thông tin
     * @return array data
     */
    public function getEventById($eid) {
        $this->db->select();
        $condition_geteventbyid = $this->db->where('id', $eid);
        if ($condition_geteventbyid == true) {
            $query = $this->db->get('event');
            $result_getevent = $query->row_array();
            return $result_getevent;
        }
    }

    /**
     * Xóa event bởi id
     * @param $eid string id của row cần xóa
     * @return bool True nếu xóa thành công, False nếu xóa thất bại.
     */
    public function delete($id) {
        $this->db->where('id',$id);
        $this->db->delete('event');
        return ($this->db->affected_rows() > 0) ? true : false;
    }
    
   
}

?>
